{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn import  datasets, cross_validation, ensemble"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用sklearn自带的手写数字\n",
    "def load_data():\n",
    "    digits = datasets.load_digits()\n",
    "    return cross_validation.train_test_split(digits.data,digits.target,test_size=0.25,random_state=0, stratify=digits.target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Traing score:1.0\n",
      "Testing score:0.9466666666666667\n"
     ]
    }
   ],
   "source": [
    "def test_RFC(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    clf = ensemble.RandomForestClassifier()\n",
    "    clf.fit(X_train,Y_train)\n",
    "    print('Traing score:{0}'.format(clf.score(X_train,Y_train)))\n",
    "    print('Testing score:{0}'.format(clf.score(X_test,Y_test)))\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFC(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7l966aXMnj27ECUXDWcNLbTystQtNISsK5EkSZKKSrdu3bbN5vn973+fDh06cNVVV+3x69x0000MHTqUnj17AjTY5SEqKytp0aJ+IpotgoW2ZpHjAyVJkqQ6dvPNNzNs2DCGDBnCF7/4Raqrq6msrOSiiy5i0KBBHH300Vx33XX85S9/Yfr06XziE5/Y1pJ40kknMX36dCorKykpKWHcuHEMHjyYESNGsHz5cgDmzJnD8OHDGTRoEFdffTUlJSXvqKGiooKxY8cyePBgjj76aO68804Ann32WUaMGMHgwYMZPnw4GzZsYOPGjVxyySUMGjSIoUOH8sQTTwDw+9//nrPPPpvRo0czZswYAK699lqGDRvGMcccw/jx4wty/GwRLLTyMjj01KyrkCRJkvbNA+Ng2ct1+5o9B8HYa/f4aa+88gp33303kydPpkWLFlx22WVMmDCBg//YjK8AAAwESURBVA8+mJUrV/Lyy6nONWvWUFJSwv9v7/6DqyrzO46/P8SQBHRiLO22mGXB4nbBxQ0xQ6mulbqsLNkdbVfZdRGqK0yts4ML6nSyLTMWbWe0dfYHYJc6gmJBXIYsW6dNEBW1/pgCkZ9iQNFiNgxqZLvA0gWFfPvHOYQYE4XkJpfc+3nNZHLOuec+z/denvlevnmec+6CBQtYuHAhFRUVH2vrwIEDXHHFFdx7773cfvvtLFmyhJqaGmbNmsWdd97JlClTWLhwYadx1NXVMXz4cOrr69vaOnLkCNdffz21tbVUVlZy4MABioqKuP/++ykqKmL79u3s2LGD6upq3njjDQA2b97Mli1bKCsro66ujqamJtavX09EUF1dzcsvv8yll1562u/TJ/GMYG86dhR+8w6U+jsEzczMzMwy5emnn2bjxo1UVVVRUVHB888/z5tvvsnIkSPZtWsXt912G08++SSlpaWf2lZJSQmTJ08G4JJLLmHPnj1AMqt37bXXAjB16tROn3vxxRezZs0aampqeOmllygtLaWxsZFhw4ZRWVkJQGlpKQUFBbz44otMmzYNgIsuuoihQ4eye/duAK666irKysoAWLt2LfX19YwdO5bKykp2797N66+/3v03qwueEexNB/cmv7001MzMzMz6u27M3PWWiODmm2/mnnvu+dhj27Zto76+ngceeIDa2loefPDBT2xr4MCBbdsFBQUcO3bslOMY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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 考个体决策树的数量对结果的影响\n",
    "def test_RFC_num(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    nums = np.arange(1,100,step=2)\n",
    "    fig = plt.figure()\n",
    "    fig.set_figheight(5)\n",
    "    fig.set_figwidth(15)\n",
    "    ax = fig.add_subplot(111)\n",
    "    traing_score=[]\n",
    "    testing_score=[]\n",
    "    for num in nums:\n",
    "        clf = ensemble.RandomForestClassifier(n_estimators=num)\n",
    "        clf.fit(X_train,Y_train)\n",
    "        traing_score.append(clf.score(X_train,Y_train))\n",
    "        testing_score.append(clf.score(X_test,Y_test))\n",
    "        \n",
    "    ## 绘图 \n",
    "    ax.plot(nums, traing_score,  label='Traing score')\n",
    "    ax.plot(nums, testing_score, label='Testing score')\n",
    "    ax.set_xlabel('estimator_num')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.legend(loc='lower right')\n",
    "    ax.set_title('RandomForestClassifier')    \n",
    "    plt.show()\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFC_num(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 最大树深对结果的影响\n",
    "def test_RFC_maxdepth(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    maxdepths = np.arange(1,20)\n",
    "    fig = plt.figure()\n",
    "    fig.set_figwidth(15)\n",
    "    ax = fig.add_subplot(111)\n",
    "    traing_score=[]\n",
    "    testing_score=[]\n",
    "    for maxdepth in maxdepths:\n",
    "        clf = ensemble.RandomForestClassifier(max_depth=maxdepth)\n",
    "        clf.fit(X_train,Y_train)\n",
    "        traing_score.append(clf.score(X_train,Y_train))\n",
    "        testing_score.append(clf.score(X_test,Y_test))\n",
    "        \n",
    "    ## 绘图 \n",
    "    ax.plot(maxdepths, traing_score,  label='Traing score')\n",
    "    ax.plot(maxdepths, testing_score, label='Testing score')\n",
    "    ax.set_xlabel('maxdepth')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.legend(loc='lower right')\n",
    "    ax.set_title('RandomForestClassifier')    \n",
    "    plt.show()\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFC_maxdepth(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 考虑max_features对结果的影响\n",
    "def test_RFC_max_feature(*data):\n",
    "    X_train,X_test,Y_train,Y_test = data\n",
    "    max_features = np.linspace(0.01,1.0)\n",
    "    fig = plt.figure()\n",
    "    fig.set_figwidth(10)\n",
    "    ax = fig.add_subplot(111)\n",
    "    traing_score=[]\n",
    "    testing_score=[]\n",
    "    for max_feature in max_features:\n",
    "        clf = ensemble.RandomForestClassifier(max_features=max_feature)\n",
    "        clf.fit(X_train,Y_train)\n",
    "        traing_score.append(clf.score(X_train,Y_train))\n",
    "        testing_score.append(clf.score(X_test,Y_test))\n",
    "        \n",
    "    ## 绘图 \n",
    "    ax.plot(max_features, traing_score,  label='Traing score')\n",
    "    ax.plot(max_features, testing_score, label='Testing score')\n",
    "    ax.set_xlabel('max_feature')\n",
    "    ax.set_ylabel('score')\n",
    "    ax.legend(loc='lower right')\n",
    "    ax.set_title('RandomForestClassifier')    \n",
    "    plt.show()\n",
    "\n",
    "# 开始测试：\n",
    "X_train,X_test,Y_train,Y_test = load_data()\n",
    "test_RFC_max_feature(X_train,X_test,Y_train,Y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
